package com.huan.social.qq.connect;

import com.huan.social.qq.api.Qq;
import com.huan.social.qq.api.QqUserInfo;
import org.springframework.social.connect.ApiAdapter;
import org.springframework.social.connect.ConnectionValues;
import org.springframework.social.connect.UserProfile;

/**
 * qq 的 api 适配器
 *
 * @author huan.fu
 * @date 2018/9/25 - 11:36
 */
public class QqApiAdapter implements ApiAdapter<Qq> {

	/**
	 * 默认 这个 api 永远都是可用的，即qq的服务器永不会宕机
	 *
	 * @param api
	 * @return
	 */
	@Override
	public boolean test(Qq api) {
		return true;
	}

	/**
	 * 将 qq 返回的用户信息与 connection 需要的数据进行适配
	 *
	 * @param api
	 * @param values
	 */
	@Override
	public void setConnectionValues(Qq api, ConnectionValues values) {
		QqUserInfo qqUserInfo = api.getQqUserInfo();
		values.setDisplayName(qqUserInfo.getNickname());
		values.setImageUrl(qqUserInfo.getFigureurl1());
		values.setProfileUrl(null);
		values.setProviderUserId(api.getOpenId());
	}

	@Override
	public UserProfile fetchUserProfile(Qq api) {
		return null;
	}

	@Override
	public void updateStatus(Qq api, String message) {

	}
}
